// 学生信息查询与成绩计算函数示例
object BasicFunctionDemo extends App {
  // 1. 查询学生基本信息函数
  def getStudentInfo(studentId: String, name: String, className: String): String = {
    s"学生ID：$studentId，姓名：$name，班级：$className"
  }

  // 2. 计算学生平均成绩函数（可变参数接收多科成绩）
  def calculateAverageScore(scores: Double*): Double = {
    if (scores.isEmpty) 0.0
    else scores.sum / scores.size
  }

  // 调用函数
  val studentInfo = getStudentInfo("S2025001", "李四", "高一(1)班")
  val avgScore = calculateAverageScore(85.0, 92.0, 87.6)
  println(studentInfo) // 输出：学生ID：S2025001，姓名：李四，班级：高一(1)班
  println(s"平均成绩：$avgScore") // 输出：平均成绩：88.2

  // 变体练习：根据学生ID和科目查询成绩
  def getStudentScore(studentId: String, subject: String): Int = {
    // 模拟成绩数据库（Map存储：(学生ID, 科目) -> 成绩）
    val scoreDatabase = Map(
      ("S2025002", "数学") -> 92,
      ("S2025002", "语文") -> 85,
      ("S2025002", "英语") -> 88
    )
    // 无匹配时返回0
    scoreDatabase.getOrElse((studentId, subject), 0)
  }

  // 调用查询成绩函数
  val mathScore = getStudentScore("S2025002", "数学")
  println(s"数学成绩: $mathScore") // 输出：数学成绩: 92
}